ความร เบ องต นเก ยวก บ ฐานข อม ล Introduction to Database
ลาด บช นของการจ ดเก บข อม ล
ลาด บช นของการจ ดเก บข อม ล บ ต (bit) ย อมาจาก Binary Digit ข อม ลในคอมพ วเตอร 1 บ ต จะแสดงได 2 สถานะค อ 0 หร อ 1
ลาด บช นของการจ ดเก บข อม ล ไบต (byte) ค อ น า บ ต หลายๆ บ ต มาเร ยงต อก น จานวน 8 บ ต มาเร ยงเป น 1 ช ด เร ยกว า 1 ไบต เช น 10100001 หมายถ ง ก 10100010 หมายถ ง ข
ลาด บช นของการจ ดเก บข อม ล เขตข อม ล(Field) ค อ การน า ไบต (byte) หลายๆ ไบต มา เร ยงต อก น เช น เขตข อม ล Name ใช เก บช อ เช น เขตข อม ล LastName ใช เก บนามสก ล เป นต น
ลาด บช นของการจ ดเก บข อม ล ระเบ ยน(Record) ค อ การน าเขตข อม ล หลายๆ เขตข อม ล มาเร ยงต อก น เร ยกว า ระเบ ยน (record) เช น ระเบ ยน ท 1 เก บ ช อ นามสก ล ว นเด อนป เก ด ของ น กเร ยนคนท 1 เป นต น
ลาด บช นของการจ ดเก บข อม ล แฟ มข อม ล(File) ค อ การเก บระเบ ยนหลายๆ ระเบ ยน รวมก น เช น แฟ มข อม ล น กเร ยน จะเก บ ช อ นามสก ล ว นเด อนป เก ด ของน กเร ยน จานวน 500 คน เป นต น
ลาด บช นของการจ ดเก บข อม ล ฐานข อม ล(Database) ค อ การจ ดเก บ แฟ มข อม ล หลายๆ แฟ มข อม ล ไว ภายใต ระบบเด ยวก น เช น เก บ แฟ มข อม ล น กเร ยน อาจารย ว ชาท เป ดสอน เป น ต น
ลาด บช นของการจ ดเก บข อม ล Database Personnel file Department file Payroll file (Project database) Files Records Fields 098-40-1370 Fiske, Steven 01-05-1985 549-77-1001 Buckley, Bill 02-17-1979 005-10-6321 Johns, Francine 10-07-1997 098-40-1370 Fiske, Steven 01-05-1985 Fiske Field นามสก ล (Personnel file) Recordประกอบด วย รห ส, นามสก ลและช อ,ว นท จ างงาน Characters (Byte) Bit 1000100 ต วอ กษร F ใน ASCII 0,1
Table : tbstudent Key Field Fields name Type Size Description pk id Character 13 รห สน กศ กษา name Character 30 ช อน กศ กษา surname Character 30 สก ลน กศ กษา dept Character 10 สาขาว ชา tel Character 20 เบอร โทรศ พท
ร ปแบบการจ ดเก บข อม ลแบบเด ม
ระบบแฟ มข อม ล (File-based System) ระบบแฟ มข อม ล(File-based system) ค อ ช ดของโปรแกรม ประย กต ท ให ผ ใช ใช เพ อประมวลผลงานท ต องการ โดยแต ละ โปรแกรมก จะกาหนดและจ ดการแฟ มข อม ลของตนเอง แฟ มข อม ลท ใช ในระบบไฟล จะแยกจากก นเป นเอกเทศ และอาจ ไม ม ความส มพ นธ ก น โดยส วนใหญ ข อม ลและโปรแกรมม กรวมอย ด วยก นเป น แฟ มข อม ล
ระบบแฟ มข อม ล (File-based System) ฝ ายบ ญช โปรแกรมบ ญช การขาย ล กค า โปรแกรมการขาย การขาย ล กค า ส นค า ฝ ายขาย ฝ ายบ คคล โปรแกรมฝ ายบ คคล พน กงาน
ข อจาก ดของการประมวลผลแบบแฟ มข อม ล ข อม ลถ กแบ งและเก บแยกจากก น ข อม ลม ความซ าซ อนก น ม ความข นต อก นของข อม ล ร ปแบบข อม ลไม ตรงก น โปรแกรมท ใช งานม ความคงท ไม ย ดหย น
ข อจาก ดของการประมวลผลแบบแฟ มข อม ล ข อม ลถ กเก บและเก บแยกจากก น เม อข อม ลต าง ๆ ถ กเก บก นไว คนละไฟล หากต องการน า ข อม ลต าง ๆ มาสร างเป นรายงาน โปรแกรมเมอร ต อง สร างไฟล ช วคราว(Temporary file)ข นมา เพ อด งข อม ล ต าง ๆ จากไฟล ต าง ๆ มารวมก นก อน แล วค อยสร างเป น รายงาน
ข อจาก ดของการประมวลผลแบบแฟ มข อม ล ข อม ลม ความซ าซ อน ส บเน องจากข อม ลถ กเก บแยกจากก น ทาให ไม สามารถควบค มความ ซ าซ อนข อม ลได ทาให ส ญเส ยพ นท ในการจ ดเก บข อม ลมากข น และ ก อให เก ดความผ ดพลาดในการดาเน นการก บข อม ล 3 ล กษณะ ได แก ความผ ดพลาดจากการเพ มข อม ล(Insertion anomalies) ความผ ดพลาดจากการปร บปร งข อม ล(Modification anomalies) ความผ ดพลาดจากการลบข อม ล(Deletion anomalies)
ข อจาก ดของการประมวลผลแบบแฟ มข อม ล ม ความข นต อก นของข อม ล เน องจากโครงสร างทางกายภาพและการจ ดเก บข อม ลถ กสร างโดยการเข ยน โปรแกรมประย กต (Application program) ด งน นหากต องการเปล ยนแปลง โครงสร างข อม ล เช น ช อของพน กงาน จากเด ม 20 ต วอ กษร เป น 30 ต วอ กษร ม ข นตอนการทางานด งน 1. เป ดไฟล หล กพน กงานเพ ออ านข อม ล 2. เป ดไฟล ช วคราวท ม โครงสร างคล ายไฟล หล ก แต ปร บโครงสร างของช อ พน กงาน จาก 20 ต วอ กษร เป น 30 ต วอ กษร 3. อ านข อม ลจากไฟล หล ก และย ายไปเก บไว ในไฟล ช วคราว จนกระท งครบท ก รายการ 4. ลบไฟล หล กท ง 5. เปล ยนช อไฟล ช วครามให ช อเด ยวก บไฟล หล ก
ข อจาก ดของการประมวลผลแบบแฟ มข อม ล ร ปแบบข อม ลไม ตรงก น โครงสร างข อม ลจะข นอย ก บภาษาคอมพ วเตอร ท ใช ในการเข ยน โปรแกรมประย กต ถ าแต ละฝ ายใช ภาษาในการเข ยนต าง ๆ ก น ก อาจทาให โครงสร างข อม ลของแฟ มไม ตรงก น ทาให ไม สามารถ น าไฟล ข อม ลมาใช ร วมก นได
ข อจาก ดของการประมวลผลแบบแฟ มข อม ล โปรแกรมท ใช งานคงท ไม ย ดหย น ระบบแฟ มข อม ล ม ความข นก บโปรแกรมประย กต ข อม ลหร อ รายงานต าง ๆ จะถ กก าหนดร ปแบบตายต วในโปรแกรมแล ว ด งน นหากต องการรายงานใหม จะต องให โปรแกรมเมอร เข ยน โปรแกรมข นมาใหม ทาให เส ยค าใช จ าย
ระบบฐานข อม ล
ความหมายของฐานข อม ล ฐานข อม ล (Database) หมายถ ง โครงสร างของการ จ ดเก บข อม ลท ม ความส มพ นธ เก ยวข องก นไว ในท เด ยวก น เพ อให สามารถนาข อม ลมาประมวลเพ อช วย ในการต ดส นใจ และสามารถใช ข อม ลร วมก นได ในการจ ดการข อม ลในฐานข อม ลจะใช ซอฟต แวร ป ร ะ เ ภ ท ร ะ บ บ จ ด ก า ร ฐ า น ข อ ม ล (Database Management System : DBMS)
ฐานข อม ล(Database) ฐานข อม ลม ส วนท ท าหน าท ในการอธ บาย ความหมายของรายการข อม ลท เก บอย ใน ฐานข อม ลด วย เร ยกส วนน ว า บ ญช ระบบ(System catalog) หร อ พจนาน กรมของข อม ล(Data Dictionary) หร อ เมตาดาต า(Meta - data)
ฐานข อม ล(Database) โครงสร างของข อม ลจะถ กแยกออกจากโปรแกรม ป ร ะ ย ก ต แ ล ะ เ ก บ เ อ า ไ ว ใ น ส ว น ท เ ร ย ก ว า ฐานข อม ล ถ าม การเพ มหร อปร บปร งโครงสร างของข อม ลก จะไม ม ผลกระทบก บโปรแกรมประย กต
ระบบฐานข อม ล (Database System) ฝ ายบ ญช โปรแกรมบ ญช ฝ ายขาย โปรแกรมการขาย DBMS ล กค า พน กงาน การขาย ส นค า Database โปรแกรมฝ ายบ คคล ฝ ายบ คคล
ระบบจ ดการฐานข อม ล (Database Management System : DBMS) หมายถ ง ซอฟต แวร ท ใช ในการจ ดการข อม ลในฐานข อม ล DBMS จะทาหน าท เป นต วกลางระหว างฐานข อม ลก บ โปรแกรมท มาใช งานฐานข อม ลและผ ใช งานฐานข อม ล ท ต ดต อไปย งฐานข อม ลเพ อทางานท ผ ใช ต องการให สาเร จ เช น การจ ดเก บข อม ลลงในฐานข อม ล, การค นหาข อม ลท ต องการออกมาแสดง หร อ การลบข อม ล เป นต น
หน าท ของ DBMS จ ดการพจนาน กรมของข อม ล(Data dictionary management) จ ดการการจ ดเก บข อม ล(Data storage management) ก า ร แ ป ล ง ข อ ม ล แ ล ะ ก า ร น า เ ส น อ ข อ ม ล (Data transformation and presentation) การจ ดการด านความปลอดภ ย(Security management) คว บค ม ก า รเ ข าใช งานของผ ใช พร อม ก น(Multiuser accesss control)
หน าท ของ DBMS การจ ดการเร องการส ารองและก ค นข อม ล(Backup and recovery management) การจ ดการความคงสภาพของข อม ล(Data integrity management) ภาษาในการเข าถ งข อม ลและส วนประสานผ ใช ใน โปรแกรมประย กต (Database access languages and application programming interfaces)
การประย กต ใช ระบบงานฐานข อม ล การซ อของจากซ เปอร มาเก ต การซ อของโดยใช บ ตรเครด ต การจองต วเคร องบ นผ านต วแทนจาหน าย การใช บร การห องสม ด การใช งานอ นเทอร เน ต การเร ยนในมหาว ทยาล ย การบร หารในองค กร ฯลฯ อ กมากมาย
องค ประกอบของระบบฐานข อม ล ฮาร ดแวร Hardware ซอฟต แวร Software ข อม ล Data กระบวนการ Procedure บ คลากร People สะพาน เคร อง มน ษย
ฮาร ดแวร (Hardware) หมายถ งคอมพ วเตอร และอ ปกรณ รอบข างซ ง เก ยวข องก บการใช งานฐานข อม ล
ซอฟต แวร (Software) หมายถ ง ระบบปฏ บ ต การ, ระบบจ ดการ ฐานข อม ล, โปรแกรมประย กต และโปรแกรม ย ท ล ต ต าง ๆ ท เก ยวข องก บการใช งานใน ระบบงานฐานข อม ล
ข อม ล(Data) หมายถ ง ข อม ลท จ ดเก บอย ในฐานข อม ล เพ อ นาไปใช ในการประมวลต อไป ใน DBMS จะส วนท ใช อธ บายข อม ล ซ งจะเป น ข อม ลท บรรยายค ณล กษณะของข อม ล(meta data)
โพรซ เยอร (Procedure) หมายถ ง คาส งและกฎต าง ๆ ในข นตอนการ ปฏ บ ต งานท เก ยวข องก บช ดคาส ง กฏเกณฑ ใน การออกแบบและการใช งานฐานข อม ล
บ คลากร(People) ห ม า ย ถ ง บ ค ค ล ท เ ก ย ว ข อ ง ก บ ร ะ บ บ ง า น ฐานข อม ล ท งส วนท เป นการออกแบบและการ ใช งาน เช น ผ ใช ท วไป, น กออกแบบฐานข อม ล, น ก ออกแบบระบบ
ผ ท ม ส วนเก ยวข องก บการใช งานฐานข อม ล ผ บร หารฐานข อม ล(Database Administrator :DBA) น กออกแบบฐานข อม ล(Database Designer) น กพ ฒนาโปรแกรม(Application Developers) ผ ใช (End User)
ข อด ของการใช งานฐานข อม ล ม ความเป นอ สระต อก นระหว างโปรแกรมและข อม ล ลดความซ าซ อนของข อม ล เพ มความตรงก นของข อม ล สามารถใช ข อม ลร วมก นได บ งค บให เป นมาตรฐานเด ยวก นได ป องก นและควบค มการเข าถ งข อม ลได ง ายข น ลดป ญหาในการบาร งร กษาโปรแกรม
ข อจาก ดของระบบการจ ดการฐานข อม ล ซ บซ อน(Complexity) ขนาดใหญ (Size) ราคาของDBMSแพง(Cost of DBMS) ราคาของฮาร ดแวร แพงตามไปด วย(Additional hardware cost) ค าใช จ ายในการแปลงระบบ(Cost of conversion) ผลกระทบจากความเส ยหายส ง(Higher impact of a failure)
ชน ดของระบบฐานข อม ล ในการจาแนกชน ดของระบบฐานข อม ลม เกณฑ ใน การแบ งเป น 2 ชน ดค อ แบ งตามล กษณะการใช งาน แบ งตามสถานท ต ง
ชน ดของฐานข อม ล:ล กษณะการใช งาน ฐานข อม ลท ม ผ ใช คนเด ยว(Single-User) บางคร งเร ยกว า Stand alone database หร อ Desktop database
ชน ดของฐานข อม ล:ล กษณะการใช งาน ฐานข อม ลท ม ผ ใช คร งละหลายคน(Multi-User) ระบบฐานข อม ลแบบน จะสน บสน นการใช งาน ของผ ใช หลายคนในเวลาเด ยวก น
ชน ดของฐานข อม ล : สถานท ต งของฐานข อม ล ฐานข อม ลแบบรวมศ นย (Centralized Database System) Client Server Client Client Client
ชน ดของฐานข อม ล : สถานท ต งของฐานข อม ล ฐานข อม ลแบบกระจาย(Distributed Database System)